home *** CD-ROM | disk | FTP | other *** search
- # File: synchronizer_rule_template.rsd
- #
- # Purpose: This file contains a template for Rational synchronizer rules. You can
- # copy this file, or cut and paste the contents into your own rules file.
- #
- # For each of the clauses there is a description of the syntax, the
- # semantics, and the possible values that can be used for the variable
- # data.
- #
- # Usage: Read the file for comments about how to write your rule. Look for the
- # fields enclosed by angle brackets <like this>. Decide if the clause
- # applies to your rule. If it does, replace the text in angle brackets,
- # including the brackets, with the appropriate value. If a clause does
- # not apply to your rule, remove the complete clause.
- #
- # You may choose to remove the comments from this file after you have
- # written your rule. This will make your final rules more readable.
- ######################################################################################
- # Every rule in your rule file must start with a begin clause. If you give your rule
- # a meaningful name it will be easier to remember what it does. If you use spaces in
- # the name you must enclose it in quotes.
-
- begin rule <rule name>
-
- ######################################################################################
- # You can provide a description of your rule. This is optional but highly recommended.
- # The description will appear in the synchronizer session window when you display
- # information about the rule. The description may be any length. But try to keep
- # it short for easy viewing. Briefly describe the purpose of the rule and the data
- # transfer that it causes.
-
- description
- {
- <Your rule's description. This can go across multiple lines.>
- }
-
- ######################################################################################
- # You must identify the projects to which this rule applies. Every rule has a source
- # project and a target project. These tell the synchronizer where the source and target
- # items live. The projects are projects from one of the supported domains, modeling
- # (Rational Rose), requirements (Rational RequisitePro), or test (Rational TestStudio).
- # For any rule, the source and target project may be the same. If there are any spaces
- # in a project's name, you must enclose it in quotes.
-
- projects <source project name> to <target project name>
-
- ######################################################################################
- # You must specify the item types from the source and target projects for which this
- # rule applies. Different project types contain different item types. If the item
- # type name contains spaces it must be enclosed in quotes.
- #
- # Item types are case sensitive and must be spelled exactly as shown in the following
- # table or in the domain project.
- #
- # The following identifies the possible item types that are supported for the different
- # project types:
- #
- # If the project type is... You can use these item types...
- # ------------------------- -------------------------------
- # Rose "Use Case"
- # Actor
- # Package
- # "Sequence Diagram"
- # Class
- #
- # TestStudio Script
- #
- # RequisitePro Any requirement type. You must type the
- # name of the requirement, not the tag, exactly
- # as it shown in the Requirement Tab of the project
- # properties display in RequisitePro.
-
- items <source item type> to <target item type>
-
- ######################################################################################
- # You now supply one or more data transfers. Each transfer is described by a pair or
- # properties, or attributes, one in the source and one in the target item. The data
- # transfer may go from either the source to the target or from the target to the source.
- # In fact, there may be data transfers in both directions specified in a single rule.
- # For each transfer, the first property specified is the source of the data (the
- # item is called the broadcaster for this transfer). The second property specified is
- # the destination of the data (the item is called the receiver for this transfer).
- # The data transfers are introduced by the keyword "properties". There is only one
- # "properties" clause per rule. There may be as many data transfers as you wish
- # following this keyword.
- #
- # Note the attributes are case sensitive and must be written exactly as defined in the
- # following table, or in the domain project.
- #
- # There are different properties for different item types. The following table
- # identifies the possibilities:
- #
- # If the item type is... You can use these properties (attributes)...
- # -------------------------- ---------------------------------------------
- # Rose "Use Case" Name
- # Documentation
- # Stereotype
- # Rank
- #
- # Rose Actor Name
- # Documentation
- # Stereotype
- #
- # Rose Package Name
- # Documentation
- # Stereotype
- # Global
- #
- # Rose Class Name
- # Documentation
- # Stereotype
- # "Export Control"
- # Cardinality
- # Space
- # Persistence
- # Concurrency
- # Abstract
- #
- # Rose Sequence Diagram Name
- # Documentation
- #
- # TestStudio Script Name
- # "Description" (must be in quotes)
- # Requirement (used only for associating
- # requirements. See Note 1 below.)
- #
- # RequisitePro requirement Any attribute for the requirement type. Enclose
- # in quotes if there are any spaces. All
- # requirements have the following attributes:
- # Text, Tag, Key (See Note 2 below.)
- #
- # Properties are defined by the format: source.<property> or target.<property> where
- # "source" and "target" identify the source or target item as defined in the "items"
- # clause. If you have to put quotes around a property, e.g. "Planned Iteration" you
- # would do it like this: target."Planned Iteration".
- #
- # Note 1: You would use the Requirement property of a TestStudio script when you
- # want to associate the script with a requirement. In order to do this you
- # use the special property "object" as in the following example, where the
- # source is assumed to be a requirement and target the script. You can only
- # use "init" with this property.
- #
- # source.object init target.Requirement
- #
- # Note 2: For these attributes, Tag and Key are read only and cannot be set by a
- # synchronizer rule. The Text attribute may be set as well as read only if the
- # requirement is not a document-based requirement.
- #
- # In the following line, we use "to" between the two properties. This means that
- # on the first application of the rule, the receiving field, if it is in the target item,
- # will be created and initialized with the source data. On subsequent synchronizations
- # the data will be re-transferred if the values are different. If you only wish to cause
- # the data transfer to occur one time, when the target item is initially created, use
- # the keyword "init" or "initialize" instead of "to".
-
- properties
- <source/target>.<property> to <source/target>.<property>
- # add as many more transfers as you need for this rule
-
-
- ######################################################################################
- # You may have an optional clause which can constrain the application of the current
- # rule. This is done by performing an equality test to a single property in the
- # source item. If the test results in a match, then the rule will be applied to the
- # source and target items. If the test results in a false result, the rule will not be
- # applied to the source and target item pair.
- #
- # If you want this rule to always apply, remove the following clause.
-
- applies when <source property> = <value, use quotes if there are any spaces>
-
- ######################################################################################
- # You may create a traceability link from the source to the target or the target to
- # the source if this is allowed in the appropriate domains. Currently this is only
- # possible if both the source and target items are in the requirements domain. If this
- # is the case you may place one of the following two statements in your file:
- #
- # trace source to target
- # trace target to source
-
- ######################################################################################
- # Every rule must end with an end clause.
- end rule